From: Timm Bäder Date: Fri, 30 Aug 2019 12:23:56 +0000 (+0200) Subject: icontheme: Don't try to scale pixbufs to same size X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1~1^2~321^2^2~897 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e0fe2882ad54c535d52d950ec25d4d8e871c5789;p=gtk4.git icontheme: Don't try to scale pixbufs to same size --- diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index edf61e4a6b..6cf0c82ab9 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -4890,21 +4890,27 @@ gtk_icon_theme_lookup_by_gicon_for_scale (GtkIconTheme *icon_theme, { gint width, height, max; gdouble pixbuf_scale; - GdkPixbuf *scaled; width = gdk_pixbuf_get_width (pixbuf); height = gdk_pixbuf_get_height (pixbuf); max = MAX (width, height); pixbuf_scale = (gdouble) size * scale / (gdouble) max; - scaled = gdk_pixbuf_scale_simple (pixbuf, - 0.5 + width * pixbuf_scale, - 0.5 + height * pixbuf_scale, - GDK_INTERP_BILINEAR); - - info = gtk_icon_info_new_for_pixbuf (icon_theme, scaled); - - g_object_unref (scaled); + if (pixbuf_scale != 1.0) + { + GdkPixbuf *scaled; + scaled = gdk_pixbuf_scale_simple (pixbuf, + 0.5 + width * pixbuf_scale, + 0.5 + height * pixbuf_scale, + GDK_INTERP_BILINEAR); + + info = gtk_icon_info_new_for_pixbuf (icon_theme, scaled); + g_object_unref (scaled); + } + else + { + info = gtk_icon_info_new_for_pixbuf (icon_theme, pixbuf); + } } else {